home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / networking / ip / ka9q / aztecnos.arc / DAEMON.C < prev    next >
Encoding:
C/C++ Source or Header  |  1989-03-18  |  4.6 KB  |  151 lines

  1. #include "global.h"
  2. #include "cmdparse.h"
  3. #include "config.h"
  4. #include "daemon.h"
  5.  
  6. extern void killer(),timerproc(),network(),drx(),keyboard();
  7.  
  8. /* daemons to be run at startup time */
  9. struct daemon Daemons[] = {
  10.     "killer",    200,    killer,
  11.     "timer",    1024,    timerproc,
  12.     "network",    2048,    network,
  13.     "Domain",    1024,    drx,
  14.     "keyboard",    475,    keyboard,
  15.     NULLCHAR,    0,    NULLVFP
  16. };
  17.  
  18. /* Command lookup and branch tables */
  19. int go(),doabort(),doax25(),doconnect(),dotelnet(),doexit(),doclose(),
  20.     dohostname(),doreset(),dotcp(),dotrace(),doescape(),dohelp(),
  21.     doroute(),doecho(),dolog(),doip(),doetherstat(),
  22.     memstat(),doarp(),dosession(),doftp(),dostart(),dostop(),doattach(),
  23.     dosmtp(),doudp(),doparam(),doeol(),dohapnstat(),
  24.     doegstat(),dodump(),dorecord(),doupload(),dokick(),domode(),doshell(),
  25.     dodir(),docd(),doatstat(),doping(),doforward(),doremote(),donetrom(),
  26.     donrstat(),ps(),dosock(),dohs(),dofinger(),doasystat(),dodomain();
  27.  
  28. struct cmds Cmds[] = {
  29.     /* The "go" command must be first */
  30.     "",        go,        0, 0, NULLCHAR,
  31.     "!",        doshell,    0, 0, NULLCHAR,
  32.     "abort",    doabort,    0, 0, NULLCHAR,
  33. #if    (defined(MAC) && defined(APPLETALK))
  34.     "applestat",    doatstat,    0,    0, NULLCHAR,
  35. #endif
  36. #if    (defined(AX25) || defined(ETHER) || defined(APPLETALK))
  37.     "arp",        doarp,        0, 0, NULLCHAR,
  38. #endif
  39. #ifdef    ASY
  40.     "asystat",    doasystat,    0, 0, NULLCHAR,
  41. #endif
  42. #ifdef    AX25
  43.     "ax25",        doax25,        0, 0, NULLCHAR,
  44. #endif    
  45.     "attach",    doattach,    0, 2,
  46.         "attach <hardware> <hw specific options>",
  47. /* This one is out of alpabetical order to allow abbreviation to "c" */
  48. #ifdef    AX25
  49.     "connect",    doconnect,    2048, 3,"connect <interface> <callsign>",
  50. #endif
  51. #ifndef UNIX    /* BSD or SYS5 */
  52.     "cd",        docd,        0, 0, NULLCHAR,
  53. #endif
  54.     "close",    doclose,    0, 0, NULLCHAR,
  55.     "disconnect",    doclose,    0, 0, NULLCHAR,
  56.     "dir",        dodir,        0, 0, NULLCHAR,
  57.     "domain",    dodomain,    0, 0, NULLCHAR,
  58. #ifdef    HS
  59.     "hs",        dohs,        0, 0, NULLCHAR,
  60. #endif
  61. #ifdef    EAGLE
  62.     "eaglestat",    doegstat,    0, 0, NULLCHAR,
  63. #endif
  64.     "echo",        doecho,        0, 0, NULLCHAR,
  65.     "eol",        doeol,        0, 0, NULLCHAR,
  66. #ifndef    MSDOS
  67.     "escape",    doescape,    0, 0, NULLCHAR,
  68. #endif
  69. #ifdef    PC_EC
  70.     "etherstat",    doetherstat,    0, 0, NULLCHAR,
  71. #endif
  72.     "exit",        doexit,        0, 0, NULLCHAR,
  73.     "finger",    dofinger,    2048, 0, NULLCHAR,
  74.     "forward",    doforward,    0, 0, NULLCHAR,
  75.     "ftp",        doftp,        4096, 2, "ftp <address>",
  76. #ifdef HAPN
  77.     "hapnstat",    dohapnstat,    0, 0, NULLCHAR,
  78. #endif
  79.     "help",        dohelp,        0, 0, NULLCHAR,
  80.     "hostname",    dohostname,    0, 0, NULLCHAR,
  81.     "kick",        dokick,        0, 0, NULLCHAR,
  82.     "log",        dolog,        0, 0, NULLCHAR,
  83.     "ip",        doip,        0, 0, NULLCHAR,
  84.     "memstat",    memstat,    0, 0, NULLCHAR,
  85. #ifdef    AX25
  86.     "mode",        domode,        0, 2, "mode <interface>",
  87. #endif
  88. #ifdef    NETROM
  89.     "netrom",    donetrom,    0, 0, NULLCHAR,
  90. #ifdef    NRS
  91.     "nrstat",    donrstat,    0, 0, NULLCHAR,
  92. #endif    /* NRS */
  93. #endif    /* NETROM */
  94.     "param",    doparam,    0, 2, "param <interface>",
  95.     "ping",        doping,        1024, 2, "ping <host>",
  96.     "ps",        ps,        0, 0, NULLCHAR,
  97. #ifndef UNIX /* BSD or SYS5 */
  98.     "pwd",        docd,        0, 0, NULLCHAR,
  99. #endif
  100.     "record",    dorecord,    0, 0, NULLCHAR,
  101.     "remote",    doremote,    0, 4, "remote <address> <port> <command>",
  102.     "reset",    doreset,    0, 0, NULLCHAR,
  103.     "route",    doroute,    0, 0, NULLCHAR,
  104.     "session",    dosession,    0, 0, NULLCHAR,
  105.     "shell",    doshell,    0, 0, NULLCHAR,
  106.     "smtp",        dosmtp,        0, 0, NULLCHAR,
  107.     "socket",    dosock,        0, 0, NULLCHAR,
  108. #ifdef    SERVERS
  109.     "start",    dostart,    0, 2, "start <servername>",    /**/
  110.     "stop",        dostop,        0, 2, "stop <servername>",
  111. #endif
  112.     "tcp",        dotcp,        0, 0, NULLCHAR,
  113.     "telnet",    dotelnet,    1024, 2, "telnet <address>",
  114. #ifdef    TRACE
  115.     "trace",    dotrace,    0, 0, NULLCHAR,
  116. #endif
  117.     "udp",        doudp,        0, 0, NULLCHAR,
  118.     "upload",    doupload,    0, 0, NULLCHAR,
  119.     "?",        dohelp,        0, 0, NULLCHAR,
  120.     NULLCHAR,    NULLFP,        0, 0,
  121.         "Unknown command; type \"?\" for list",
  122. };
  123.  
  124. #ifdef    SERVERS
  125. /* "start" and "stop" subcommands */
  126. int dis1(),echo1(),ftpstart(),smtp1(),tnstart(),rem1();
  127. struct cmds Startcmds[] = {
  128.     "discard",    dis1,        512, 0, NULLCHAR,
  129.     "echo",        echo1,        512, 0, NULLCHAR,
  130.     "ftp",        ftpstart,    512, 0, NULLCHAR,
  131.     "smtp",        smtp1,        512, 0, NULLCHAR,
  132.     "telnet",    tnstart,    512, 0, NULLCHAR,
  133.     "remote",    rem1,        256, 0, NULLCHAR,
  134.     NULLCHAR,    NULLFP,        0, 0,
  135.         "start options: discard, echo, ftp, smtp, telnet, remote",
  136. };
  137. int ftp_stop(),smtp_stop(),echo_stop(),dis_stop(),tn_stop();
  138. int dis0(),echo0(),ftp0(),smtp0(),tn0(),rem0();
  139. struct cmds Stopcmds[] = {
  140.     "discard",    dis0,        0, 0, NULLCHAR,
  141.     "echo",        echo0,        0, 0, NULLCHAR,
  142.     "ftp",        ftp0,        0, 0, NULLCHAR,
  143.     "smtp",        smtp0,        0, 0, NULLCHAR,
  144.     "telnet",    tn0,        0, 0, NULLCHAR,
  145.     "remote",    rem0,        0, 0, NULLCHAR,
  146.     NULLCHAR,    NULLFP,        0, 0,
  147.         "stop options: discard, echo, ftp, smtp, telnet, remote",
  148. };
  149. #endif    /* SERVERS */
  150.  
  151.